:where(.ag-icon)::before {
    content: '';
    background-color: currentcolor;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--ag-icon-size);
    height: var(--ag-icon-size);
    mask-size: contain;

    /* Font properties to allow apps to set font-family and content and have an icon font work */
    font-size: var(--ag-icon-size);
    line-height: var(--ag-icon-size);
    color: inherit;
    font-family: inherit;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
}

.ag-icon {
    display: block;
    position: relative;
    user-select: none;
    width: var(--ag-icon-size);
    height: var(--ag-icon-size);
    color: var(--ag-icon-color);

    /* Background properties to allow apps to set a background-image and have it work */
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.ag-disabled,
[disabled] {
    .ag-icon {
        opacity: 0.5;
    }

    &.ag-icon-grip {
        opacity: 0.35;
    }
}
